Training-based channel estimation for multiple-antennas

ABSTRACT

The burden of designing multiple training sequences for systems having multiple transmit antennas, is drastically reduced by employing a single sequence from which the necessary multiple sequences are developed. The single sequence is selected to create sequences that have an impulse-like autocorrelation function and zero cross correlations. A sequence of any desired length N t  can be realized for an arbitrary number of channel taps, L. The created sequences can be restricted to a standard constellation (that is used in transmitting information symbols) so that a common constellation mapper is used for both the information signals and the training sequence. In some applications a a training sequence may be selected so that it is encoded with the same encoder that is used for encoding information symbols. Both block and trellis coding is possible in embodiments that employ this approach.

BACKGROUND OF THE INVENTION

This relates to space-time coding, and more particularly, to channel estimation in space-time coding arrangements.

Space-Time coding (STC) is a powerful wireless transmission technology that enables joint optimized designs of modulation, coding, and transmit diversity modules on wireless links. A key feature of STC is that channel knowledge is not required at the transmitter. While several non-coherent STC schemes have been invented that also do not require channel information at the receiver, they suffer performance penalties relative to coherent techniques. Such non-coherent techniques are therefore more suitable for rapidly fading channels that experience significant variation with the transmission block. However, for quasi static or slowly varying fading channels, training-based channel estimation at the receiver is commonly employed, because it offers better performance.

For single transmit antenna situations, it is known that a training sequence can be constructed that achieves a channel estimation with minimum mean squared error (optimal sequences) by selecting symbols from an N^(th) root-of-unit alphabet of symbols e^(i2πk/N), k=0, 1, 2, . . . (N-1), when the alphabet size N is not constrained. Such sequences are the Perfect Roots-of-Unity Sequences (PRUS) that have been proposed in the literature, for example, by W. H. Mow, “Sequence Design for Spread Spectrum,” The Chinese University Press, Chinese University of Hong Kong, 1995. The training sequence length, N_(t), determines the smallest possible alphabet size. Indeed, it has been shown that for any given length N_(t), there exists a PRUS with alphabet size N=2 N_(t), and that for some values of N_(t) smaller alphabet sizes are possible. It follows that a PRUS of a predetermined length might employ a constellation that is other than a “standard” constellation, where a “standard” constellation is one that has a power of 2 number of symbols. Binary phase shift keying (BPSK), quadrature phase shift keying (QPSK), and 8-point phase shift keying (8-PSK) are examples of a standard constellation. Most, if not all, STC systems employ standard constellations for the transmission of information.

Another known approach for creating training sequences constrains the training sequence symbols to a specific (standard) constellation, typically, BPSK, QPSK, or 8-PSK in order that the transmitter and receiver implementations would be simpler (a single mapper in the transmitter and an inverse mapper in the receiver—rather than two). In such a case, however, optimal sequences do not exist for all training lengths N_(t). Instead, exhaustive searches must be carried out to identify sub-optimal sequences according to some performance criteria. Alas, such searches may be computationally prohibitive. For example, in the third generation TDMA proposal that is considered by the industry, 8-PSK constellation symbols are transmitted in a block that includes 116 information symbols, and 26 training symbols (N_(t)=26). No optimal training sequence exists for this value of N_(t) and constellation size and number of channel taps to estimate, L.

When, for example, two transmit antennas are employed, a training sequence is needed for each antenna, and ideally, the sequences should be uncorrelated. One known way to arrive at such sequences is through an exhaustive search in the sequences space. This space can be quite large. For example, when employing two antennas, and a training sequence of 26 symbols for each antenna, this space contains 8^(2×26) sequences. For current computational technology, this is a prohibitively large space for exhaustive searching. Reducing the constellation of the training sequence to BPSK (from 8-PSK) reduces the search to 2^(2×26) sequences, but that is still quite prohibitively large; and the reduction to a BPSK sequence would increase the achievable mean squared error. Moreover, once the two uncorrelated sequences are found, a generator is necessary for each of the sequences, resulting in an arrangement (for a two antenna case) as shown in FIG. 1, which includes transmitter 10 that includes information encoder 13 that feeds constellation mapper 14 that drives antennas 11 and 12 via switches 15 and 16. To provide training sequences, transmitter 10 includes sequence generator 5 followed by constellation mapper 6 that feeds antenna 11 via switch 15, and sequence generator 7 followed by constellation mapper 8 that feeds antenna 12 via switch 16.

SUMMARY OF THE INVENTION

As advance in the art is achieved with an approach that drastically reduces the problem of designing multiple training sequences for systems having multiple transmit antennas, by employing a single sequence from which the necessary multiple sequences are developed. The single sequence is selected to develop the multiple sequences that have impulse-like autocorrelation functions and zero cross correlations. A sequence of any desired length N_(t) can be realized for an arbitrary number of channel taps, L.

In one approach, a sequence having an impulse-like autocorrelation function is restricted advantageously to a standard constellation (that is used in transmitting information symbols) so a common constellation mapper is used for both the information signals and the training sequence.

In another approach, a training sequence is selected so that it is encoded with the same encoder that is used for encoding information symbols. Both block and trellis coding is possible in embodiments that employ this approach.

BRIEF DESCRIPTION OF THE DRAWING

FIG. 1 shows a prior art arrangement of a two-antenna transmitter and a one antenna receiver, where training sequences are independently generated for the two transmitting antennas;

FIG. 2 shows an arrangement where the training sequences employ the same constellation mapper that is employed in mapping space-time encoded information symbols;

FIG. 3 presents a block diagram of an arrangement where a single encoder generates the training sequences for the two transmitter antennas;

FIG. 4 shows one encoding realization for encoder 9 of FIG. 3;

FIG. 5 shows another encoding realization for encoder 9 of FIG. 3;

FIG. 6 presents a block diagram of an arrangement where a single encoder generates both the training sequences and the information symbols for the two transmitter antennas;

FIG. 7 shows one encoding realization for encoder 9 of FIG. 6;

FIG. 8 shows another encoding realization for encoder 9 of FIG. 6;

FIG. 9 shows yet another encoding realization for encoder 9 of FIG. 6; and

FIG. 10 shows the constellation of an 8-PSK encoder realization for encoder 9.

DETAILED DESCRIPTION

The following mathematical development focuses on a system having two transmit antennas and one receive antenna. It should be understood, however, that a skilled artisan could easily extend this mathematical development to more than two transmit antennas, and to more than one receive antenna.

FIG. 2 shows an arrangement a transmitter with two transmit antennas 11 and 12 that transmits signals s₁ and s₂, respectively, and a receiver with receive antenna 21, and channels h₁ (from antenna 11 to antenna 21) and h₂ (from antenna 12 to antenna 21) therebetween. Channels h₁ and h₂ can be expressed as a finite impulse response (FIR) filter with L taps. Thus, the signal received at antenna 21 at time k, y(k), can be expressed as $\begin{matrix} {{y(k)} = {{\sum\limits_{i = 0}^{L - 1}{{h_{1}(i)}{s_{1}\left( {k - i} \right)}}} + {\sum\limits_{i = 0}^{L - 1}{{h_{2}(i)}{s_{2}\left( {k - i} \right)}}} + {z(k)}}} & (1) \end{matrix}$ where z(k) is noise, which is assumed to be AWGN (additive white Gaussian noise).

The inputs sequences s₁ and s₂ belong to a finite signals constellation and can be assumed, without loss of generality, that they are transmitted in data blocks that consist of N_(i) information symbols and N_(t) training symbols. If N_(t) training symbols are employed to estimate the L taps of a channel in the case of a single antenna, then for a two antenna case such as shown in FIG. 1, one needs to employ 2N_(t) training symbols to estimate the 2L unknown coefficients (of h₁ and h₂).

When a training sequence of length N_(t) is transmitted, the first L received signals are corrupted by the preceding symbols. Therefore, the useful portion of the transmitted N_(t) sequence is from L to N_(t). Expressing equation (2) in matrix notation over the useful portion of a transmitted training sequence yields $\begin{matrix} {{y = {{{Sh} + z} = {{\left\lbrack {{S_{1}\left( {L,N_{t}} \right)}\quad{S_{2}\left( {L,N_{t}} \right)}} \right\rbrack\begin{bmatrix} {h_{1}(L)} \\ {h_{2}(L)} \end{bmatrix}} + z}}},} & (2) \end{matrix}$ where y and z are vectors with (N_(t)−L+1) elements, S₁(L,N_(t)) and S₂(L,N_(t)) are convolution matrices of dimension (N_(t)−L+1)×L, and h₁(L) and h₂(L) are of dimension L×1; that is, $\begin{matrix} {{{S_{i}\left( {L,N_{t}} \right)} = \begin{bmatrix} {s_{i}\left( {L - 1} \right)} & {s_{i}\left( {L - 2} \right)} & \cdots & {s_{i}(0)} \\ {s_{i}(L)} & {s_{i}\left( {L - 1} \right)} & \cdots & {s_{i}(1)} \\ \vdots & \vdots & ⋰ & \vdots \\ {s_{i}\left( {N_{t} - 1} \right)} & {s_{i}\left( {N_{t} - 2} \right)} & \cdots & {s_{i}\left( {N_{t} - L} \right)} \end{bmatrix}},{and}} & (3) \\ {{{h_{i}(L)} = {{\begin{bmatrix} {h_{i}(0)} \\ {h_{i}(1)} \\ \vdots \\ {h_{i}\left( {L - 1} \right)} \end{bmatrix}\quad{for}\quad i} = 1}},2.} & (4) \end{matrix}$ If the convolution matrix is to have at least L rows, N_(t) must be at least 2L−1. In the context of this disclosure, the S matrix is termed the “training matrix” and, as indicated above, it is a convolution matrix that relates to signals received from solely in response to training sequence symbols; i.e., not corrupted by signals sent prior to the sending of the training sequence.

The linear least squared channel estimates, ĥ, assuming S has full column rank, is $\begin{matrix} {{\hat{h} = {\begin{bmatrix} {\hat{h}}_{1} \\ {\hat{h}}_{2} \end{bmatrix} = {\left( {S^{H}S} \right)^{- 1}S^{H}y}}},} & (5) \end{matrix}$ where the (●)H and (●)⁻¹ designate the complex-conjugate transpose (Hermitian) and the inverse, respectively. For zero mean noise, the channel estimation mean squared error is defined by MSE=E[(h−ĥ)^(H)(h−ĥ)]=2σ² tr((S ^(H) S)⁻¹),   (6) where tr(.) denotes a trace of a matrix. The minimum MSE, MMSE, is equal to $\begin{matrix} {{{MMSE} = \frac{2\sigma^{2}L}{\left( {N_{t} - L + 1} \right)}},} & (7) \end{matrix}$ which is achieved if and only if $\begin{matrix} {{S^{H}S} = {\begin{bmatrix} {S_{1}^{H}S_{1}} & {S_{2}^{H}S_{1}} \\ {S_{1}^{H}S_{2}} & {S_{2}^{H}S_{2}} \end{bmatrix} = {\left( {N_{t} - L + 1} \right)I_{2L}}}} & (8) \end{matrix}$ where I_(2L) is the 2L×2L identity matrix. The sequences s₁ and s₂ that satisfy equation (8) are optimal sequences. Equation (8) effectively states that the optimal sequences have an impulse-like autocorrelation function (e.g. S₁ ^(H)S corresponds to the identity matrix, I, multiplied by a scalar) and zero cross-correlations.

A straightforward approach for designing two training sequences of length N_(t) each is to estimates two L-taps channels (i.e., two channels having L unknowns each, or a total of 2L unknowns) is to design a single training sequence s of length N_(t)′ (N_(t)′=N_(t)+L ) that estimates a single channel with L′=2L taps (i.e., a single channel having 2L unknowns). Generalizing, N_(t)′=N_(t)+(n−2)L, where n is the number of antennas. One can thus view the received signal as y=S(L′, N _(t)′)h(L′)+z   (9) where S is a convolution matrix of dimension (N_(t)′−L′+1)×L′. Again, for optimality, the imposed requirement is that S ^(H)(L′, N _(t)′)S(L′, N _(t)′)=(N′ _(t) −L′+1)I _(2L),   (10) and once the sequence s is found, the task is to create the subsequences s₁ and s₂ from the found sequence s. Preferably, the subsequences s₁ and s₂ can be algorithmically generated from sequence s. Conversely, one may find subsequences s₁ and s₂ that satisfy the requirements of equation (8) and be such that sequence s can be algorithmically generated. This permits the use of a single training signal generator that, through a predetermined algorithm (i.e., coding) develops the subsequences s₁ and s₂. Both approaches lead to embodiment depicted in FIG. 3, where information signals are applied to encoder 13 that generates two streams of symbols that are applied to constellation mapper 14 via switches 15 and 16. Generator 5 creates a training sequence that is applied to encoder 9, and encoder 9 generates the subsequences s₁ and s₂ that are applied to constellation mapper 14 via switches 15 and 16.

Actually, once we realized that the complexity of the training sequence determination problem can be reduced by focusing on the creation of a single sequence from which a plurality of sequences that meet the requirements of equation (8) can be generated, it became apparent that there is no requirement for s to be longer than s₁ and s₂.

FIG. 4 presents one approach for generating optimal subsequences s₁ and s₂ that meet the requirements of equation (8) and that can be generated from a single sequence. In accordance with FIG. 4, generator 5 develops a sequence s of length N_(t)/2, and encoder 9 develops therefrom the sequences s₁=−s|s and s₂=s|s, where the “|” symbol stands for concatenation; e.g., sequence s₁ comprises sequence −s concatenated with, or followed by, sequence s. Thus, during the training sequence, antenna 11 transmits the sequence −s during the first N_(t)/2 time periods, and the sequence s during the last N_(t)/2 time periods. Antenna 12 transmits the sequence s during both the first and last N_(t)/2 time periods.

In response to the training sequences transmitted by antennas 1 1 and 12, receiving antenna 21 develops the signal vector y (where the elements of the vector y are the signals received from antennas 11 and 12). Considering the received signal during the first N_(t)/2 time periods as y₁ and during the last N_(t)/2 time periods as y₂, and employing only the useful portion of the signal (that is, the portions not corrupted by signals that are not part of the training sequence) one gets $\begin{matrix} {\begin{bmatrix} y_{1} \\ y_{2} \end{bmatrix} = {{\begin{bmatrix} {- S} & S \\ S & S \end{bmatrix}\begin{bmatrix} h_{1} \\ h_{2} \end{bmatrix}} + \begin{bmatrix} z_{1} \\ z_{2} \end{bmatrix}}} & (11) \end{matrix}$ where S is a convolution matrix of dimension (N_(t)−L+1)×L. In accordance with the principles disclosed herein, the FIG. 3 receiver multiplies the received signal in processor 25 with the transpose conjugate matrix S^(H), yielding $\begin{matrix} {{\begin{bmatrix} r_{1} \\ r_{2} \end{bmatrix} = {{\begin{bmatrix} {- S^{H}} & S^{H} \\ S^{H} & S^{H} \end{bmatrix}\begin{bmatrix} y_{1} \\ y_{2} \end{bmatrix}} = {{\begin{bmatrix} {2S^{H}S} & 0 \\ 0 & {2S^{H}S} \end{bmatrix}\begin{bmatrix} h_{1} \\ h_{2} \end{bmatrix}} + \begin{bmatrix} {\overset{-}{z}}_{1} \\ {\overset{-}{z}}_{2} \end{bmatrix}}}}{where}} & (12) \\ \begin{matrix} {\begin{bmatrix} {\overset{-}{z}}_{1} \\ {\overset{-}{z}}_{2} \end{bmatrix} = {{\begin{bmatrix} {- S^{H}} & S^{H} \\ S^{H} & S^{H} \end{bmatrix}\begin{bmatrix} z_{1} \\ z_{2} \end{bmatrix}}.}} & \quad \end{matrix} & (13) \end{matrix}$ If the sequence s is such that S^(H)S=(N_(t)−L+1)I_(L), then $\begin{matrix} {\begin{bmatrix} r_{1} \\ r_{2} \end{bmatrix} = {{2{\left( {N_{t} - L + 1} \right)\begin{bmatrix} h_{1} \\ h_{2} \end{bmatrix}}} + {\left\lbrack \begin{bmatrix} {\overset{-}{z}}_{1} \\ {\overset{-}{z}}_{2} \end{bmatrix} \right\rbrack.}}} & (14) \end{matrix}$ If the noise is white, then the linear processing at the receiver does not color it, and the channel transfer functions correspond to h ₁=1/2(N _(t) −L+1)r ₁ h ₂=1/2(N _(t) −L+1)r ₂.   (15) with a minimum squared error, MSE, that achieves the lower bound expressed in equation (7); to wit, $\begin{matrix} {{MSE} = \frac{2\sigma^{2}L}{\left( {N_{t} - L + 1} \right)}} & (16) \end{matrix}$

The above result can be generalized to allow any matrix U to be used to encode the training sequence, s, so that $\begin{matrix} {\begin{bmatrix} y_{1} \\ y_{2} \end{bmatrix} = {{U\begin{bmatrix} h_{1} \\ h_{2} \end{bmatrix}} + \begin{bmatrix} z_{1} \\ z_{2} \end{bmatrix}}} & (17) \end{matrix}$ as long as U^(H)U=2I for a two antennas case, and U^(H)U=KI for an K antenna case.

Whereas FIG. 4 presents a method for developing sequences s₁ and s₂ of length N_(t) from a sequence s that is N_(t)/2 symbols long, FIG. 5 presents a method for developing sequences s₁ and s₂ of length N_(t) from a sequence s that is 2N_(t) symbols long, which consists of a sequence d₁=[s(0) s(1) . . . s(N_(t)−1)] followed by a sequence d₂=[s(0) s(1) . . . s(N_(t)-1)]. In accordance with this approach, s₁=d₁|−{tilde over (d)}₂* and s₂=d₂|{tilde over (d)}₁*. The sequence {tilde over (d)}₁ corresponds to the sequence d₁ with its elements in reverse order. The symbol {tilde over (d)}₁* operation corresponds to the sequence d₁ with its elements in reverse order and converted to their respective complex conjugates.

The FIG. 5 encoding is very similar to the encoding scheme disclosed by Alamouti in U.S. Pat. No. 6,185,258, issued Feb. 6, 2001, except that (a) the Alamouti scheme is symbols-centric whereas the FIG. 5 encoding is sequence-centric, and (b) the Alamouti scheme does not have the concept of a reverse order of a sequence (e.g., {tilde over (d)}₁* ). See also E. Lindskog and A. Paulraj titled “A Transmit Diversity Scheme for Channels With Intersymbol Interference,” ICC, 1:307-311, 2000. An encoder 9 that is created for developing training sequences s₁ and s₂ in accordance with FIG. 5, can be constructed with a control terminal that is set to 1 during transmission of information and set to another value (e.g., 0, or to N_(t) to indicate the length of the generated block) during transmission of the training sequence, leading to the simplified transmitter realization shown in FIG. 6. More importantly, such an arrangement leads to a simplified receiver because essentially the same decoder is used for both the information signals and the training signals.

With a signal arrangement as shown in FIG. 5, the signal captured at antenna 21 of receiver 20 is $\begin{matrix} {\begin{bmatrix} y_{1} \\ y_{2} \end{bmatrix} = {{\begin{bmatrix} {- {\overset{\sim}{D}}_{2}^{*}} & {\overset{\sim}{D}}_{1}^{*} \\ D_{1} & D_{2} \end{bmatrix}\begin{bmatrix} h_{1} \\ h_{2} \end{bmatrix}} + \left\lbrack \begin{bmatrix} z_{1} \\ z_{2} \end{bmatrix} \right\rbrack}} & (18) \end{matrix}$ where the matrices D_(i) and {tilde over (D)}_(i) (for i=1,2) are convolution matrices for d₁ and {tilde over (d)}₁, respectively, of dimension (N_(t)−L+1)×L. Recalling from equation (8) that MMSE is achieved if and only if D^(H)D has zeros off the diagonal; i.e., −{tilde over (D)} ₁ ^(T) {tilde over (D)} ₂*+(D ₂*)^(T) D ₁=0   (19) and −{tilde over (D)} ₂ ^(T) {tilde over (D)} ₁*+(D ₁*)^(T) D ₂=0,   (20) and identity matrices on the diagonal; i.e., {tilde over (D)} ₂ ^(T) {tilde over (D)} ₂*+(D ₁*)^(T) D ₁=2(N _(t) −L+1)I _(L)   (221) and {tilde over (D)} ₁ ^(T) {tilde over (D)} ₁*+(D ₂*)^(T) D ₂=2(N _(t) −L+1)I _(L).   (22)

Various arrangements that interrelate sequences d₁ and d₂ can be found that meet the above requirement. By way of example (and not by way of limitation), a number of simple choices satisfy these conditions follow.

(1) (D₁*)^(T)D₁=(N_(t)−L+1)I_(L), {tilde over (D)}₁=D₁, and D₂=D_(. 1). To show that equation (21) holds, one may note that {tilde over (D)}₂ ^(T){tilde over (D)}₂* (the first term in the equation) becomes D₁ ^(T)D₁*, but if (D₁*)^(T)D₁ is a diagonal matrix then so is {tilde over (D)}₂ ^(T){tilde over (D)}₂*. Thus, according to this training sequence embodiment, one needs to only identify a sequence d₁ that is symmetric about its center, with an impulse-like autocorrelation function, and set d₂ equal to d₁. This is shown in FIG. 7.

(2) (D₁*)^(T)D₁=(N_(t)−L+1)I_(L), and {tilde over (D)}₂=D₁. To show that equation (21) holds, one may note that the {tilde over (D)}₂ ^(T){tilde over (D)}₂* first term in the equation also becomes D₁ ^(T)D₁*. Thus, according to this training sequence embodiment, one needs to only identify a sequence d₁ with an impulse-like autocorrelation function, and set d₂ equal to {tilde over (d)}₁. This is shown in FIG. 8.

(3) (D₁*)^(T)D₁=(N_(t)−L+1)I_(L), and {tilde over (D)}₂* =D₁. To show that equation (21) holds, one may note that the {tilde over (D)}₂ ^(T){tilde over (D)}₂* first term in the equation becomes (D₁*)^(T)D₁. Thus, according to this training sequence embodiment, one needs to only identify a sequence d₁ with an impulse-like autocorrelation function, and set d₂ equal to {tilde over (d)}₁*. This is shown in FIG. 9.

Training Sequences Employing Trellis Coding

Consider a trellis code with m memory elements and outputs from a constellation of size C, over a single channel with memory 2 ^(m)C^((L−1))−1. To perform joint equalization and decoding one needs a product trellis with 2 ^(m)C^((L−1)) states. For a space-time trellis code with m memory elements, n transmit antennas and one receive antenna, over a channel with memory (L−1), one needs a product trellis with 2 ^(m)C^(n(L−1)).

The receiver can incorporate the space-time trellis code structure in the channel model to create an equivalent single-input, single output channel, h_(eq), of length m+L. The trellis, in such a case, involves C^((m+L−1)) states. The approach disclosed herein uses a single training sequence at the input of the space-time trellis encoder to directly estimate h_(eq) used by the joint space-time equalizer/decoder. The channel h_(eq) that incorporates the space-time code structure typically has a longer memory than the channel h₁ and h₂ (in a system where there are two transmitting antennas and one receiving antenna).

To illustrate, assume an encoder 30 as depicted in FIG. 10 that employs an 8-PSK constellation of symbols to encode data from a training sequence generator into a sequence s of symbols taken from the set e^(i2πp) _(k) ^(/8), p_(k)=0,1, 2, . . . , 7, where the training sequences s₁ and s₂ are algorithmically derived within encoder 30 from sequence s. Specifically, assume that s₁(k)=s(k), and that s₂(k)=(−1)^(p) _(k−1) s(k−1), which means that s₂(k)=s(k−1) when s(k−1) is an even member of the constellation (e^(i0), e^(iπ/2), e^(iπ), and e^(i3π/2)), and s₂(k)=−s(k−1) when s(k−1) is an odd member of the constellation.

With such an arrangement, the received signal at time k can be expressed as $\begin{matrix} {{{y(k)} = {{{\sum\limits_{i = 0}^{L - 1}{{h_{1}(i)}{s\left( {k - i} \right)}}} + {\sum\limits_{i = 0}^{L - 1}{{h_{2}\left( {i,k} \right)}\left( {- 1} \right)^{p_{k - i - 1}}{s\left( {k - i - 1} \right)}}} + {z(k)}} = {{\sum\limits_{i = 0}^{L}{{h_{eq}(i)}{s\left( {k - i} \right)}}} + {z(k)}}}},{where}} & (23) \\ {{h_{eq}\left( {i,k} \right)} = \left\{ \begin{matrix} {h_{1}(0)} & {{{for}\quad i} = 0} \\ {{h_{1}(i)} + {\left( {- 1} \right)^{p_{k - i}}{h_{2}\left( {i - 1} \right)}}} & {{{for}\quad 0} < i < L} \\ {\left( {- 1} \right)^{P_{k - L}}{h_{2}\left( {L - 1} \right)}} & {{{for}\quad i} = {L.}} \end{matrix} \right.} & (24) \end{matrix}$ A block of received signals (corresponding to the useful portion of the training sequence block) can be expressed in matrix form by y=Sh _(eq) +z   (25) where $\begin{matrix} {S = {\begin{bmatrix} {s(L)} & {s\left( {L - 1} \right)} & \cdots & {s(0)} \\ {s\left( {L + 1} \right)} & {s(L)} & \cdots & {s(1)} \\ \vdots & \vdots & \quad & \vdots \\ {s\left( {N_{t} - 1} \right)} & {s\left( {N_{t} - 2} \right)} & \cdots & {s\left( {N_{t} - L - 1} \right)} \end{bmatrix}\begin{bmatrix} {h_{eq}\left( {0,L} \right)} \\ {h_{eq}\left( {1,{L + 1}} \right)} \\ \vdots \\ {h_{eq}\left( {L,{N_{t} - 1}} \right)} \end{bmatrix}}} & (26) \end{matrix}$ and following the principles disclosed above, it can be realized that when the training sequence is properly selected so that S^(H)S is a diagonal matrix, i.e., S^(H)S=(N_(t)−L)I_(L+1), an estimate of h_(eq) that is, ĥ_(eq), is obtained from $\begin{matrix} {{\hat{h}}_{eq} = {\frac{S^{H}y}{\left( {N_{t} - L} \right)}.}} & (27) \end{matrix}$ If the training sequence were to comprise only the even constellation symbols, e^(i2πk/8), k=0, 2, 4, 6, per equation (24), the elements of ĥ_(eq) would correspond to h _(eq) ^(even) =[h ₁(0), h ₁(1)+h ₂(0), h ₁(2)+h ₂(1), . . . h ₁(L−1)+h ₂(L−2), h ₂(L−1)].   (28) If the training sequence were to comprise only the odd constellation symbols, e^(i2πk/8), k=1,3,5, 7, the elements of ĥ_(eq) would correspond to h _(eq) ^(odd) =[h ₁(0), h ₁(1)−h ₂(0), h ₁(2)−h ₂(1), . . . h ₁(L−1)−h ₂(L−2), −h ₂(L−1)].   (29) If the training sequence were to comprise a segment of only even constellation symbols followed by only odd constellation symbols (or vice versa), then channel estimator 22 within receiver 20 can determine the h_(eq) ^(even) coefficients from the segment that transmitted only the even constellation symbols, and can determine the h_(eq) ^(odd) coefficients from the segment that transmitted only the even constellation symbols. Once both h_(eq) ^(even) and h_(eq) ^(even) and h_(eq) ^(odd) are known, estimator 22 can obtain the coefficients of h₁ from $\begin{matrix} {\left\lbrack {{h_{1}(0)},{h_{1}(1)},{h_{1}(2)},{\ldots\quad{h_{1}\left( {L - 1} \right)}}} \right\rbrack = \frac{h_{eq}^{even} + h_{eq}^{odd}}{2}} & (30) \end{matrix}$ and the coefficients of h₂ from $\begin{matrix} {\left\lbrack {{h_{2}(0)},{h_{2}(1)},{h_{2}(2)},{\ldots\quad{h_{2}\left( {L - 1} \right)}}} \right\rbrack = {\frac{h_{eq}^{even} - h_{eq}^{odd}}{2}.}} & (31) \end{matrix}$ What remains, then, is to create a single training sequence s of length N_(t) where one half of it (the s_(even) portion) consists of only even constellation symbols (even sub-constellation), and another half of it (the s_(odd) portion) consists of only odd constellation symbols (odd sub-constellation). The sequences s₁ and s₂ of length N_(t) are derived from the sequence s by means of the 8-PSK space-time trellis encoder. The sequences s₁ and s₂ must also meet the requirements of equation (8). Once s_(even) is found, s_(odd) can simply be s _(odd) =αs _(even), where α=e^(iπk/4) for any k=1,3,5, 7.   (32) Therefore, the search for sequence s is reduced from a search in the of 8^(N) _(t) to a search for s_(even) in the space 4^((N) _(t) ^(/2)) such that, when concatenated with s_(odd) that is computed from s_(even) as specified in equation (32), yields a sequence s that has an autocorrelation function that is, or is close to being, impulse-like.

For a training sequence of length N_(t)=26, with an 8-PSK space-time trellis encoder, we have identified the 12 training sequences specified in Table 1 below. TABLE 1 sequence # α S_(e) 1 exp(i5π/4) −1 1 1 1 1 −1 −i −1 1 1 −1 1 1 2 exp(i3π/4) 1 1 −1 1 i i 1 −i i −1 −1 −1 1 3 exp(iπ/4) 1 −1 −1 −i i −i 1 1 1 −i −1 1 1 4 exp(iπ/4) 1 −1 −1 −i 1 −1 1 −i −i −i −1 1 1 5 exp(iπ/4) 1 i 1 1 i −1 −1 i 1 −1 1 i 1 6 exp(i3π/4) 1 i 1 i −1 −1 1 −1 −1 i 1 i 1 7 exp(i7π/4) 1 −i 1 1 −i −1 −1 −i 1 −1 1 −i 1 8 exp(i5π/4) 1 −i 1 −1 i 1 −1 −i 1 1 1 −i 1 9 exp(i3π/4) −1 1 1 1 −1 −1 −i −1 −1 1 −1 1 1 10 exp(i7π/4) −1 i −1 −i 1 −i i i 1 i 1 −i 1 11 exp(iπ/4) −1 −i −1 i 1 i −i −i 1 −i 1 i 1 12 exp(i3π/4) −1 −i −1 i −1 i −i −i −1 −i 1 i 1 Construction of Training Sequence

While the above-disclosed materials provide a very significant improvement over the prior art, there is still the requirement of selecting a sequence si with an impulse-like autocorrelation function. The following discloses one approach for identifying such a sequence without having to perform an exhaustive search.

A root-of-unity sequence with alphabet size N has complex roots of unity elements of the form e^(i2πk/N), k=1, 2, . . . (N-1). As indicated above, the prior art has shown that perfect roots-of-unity sequences (PRUS) can be found for any training sequence of length N_(t), as long as no constraint is imposed on the value of N. As also indicated above, however, it is considered disadvantageous to not limit N to a power of 2. Table 2 presents the number of PRUSs that were found to exist (through exhaustive search) for different sequence lengths when the N is restricted to 2 (BPSK), 4 (QPSK), or 8 (8-PSK). Cell entries in Table 2 with “-” indicate that sequence does not exist, and blank cells indicate that an exhaustive search for a sequence was not performed. TABLE 2 N_(t) = 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 BPSK — —  8 — — — — — — — — — — — — — — QPSK  8 —  32 — — — 128 — — — — — — — 6144 — — 8-PSK 16 — 128 — — — 512 — — — — —

A sequence s of length N_(t) is called L-perfect if the corresponding training matrix S of dimension (N_(t)−L+1)×L satisfies equation (8). Thus, an L-perfect sequence of length N_(t) is optimal for a channel with L taps. It can be shown that the length N_(t) of an L-perfect sequence from a 2^(p)-alphabet can only be equal to $\begin{matrix} {{N_{t} = {{\begin{Bmatrix} {2\left( {L + i} \right)} & {{{for}\quad L} = {odd}} \\ {{2\left( {L + i} \right)} - 1} & {{{for}\quad L} = {even}} \end{Bmatrix}\quad{for}\quad i} = 0}},1,\ldots\quad,} & (33) \end{matrix}$

which is a necessary, but not sufficient, condition for L-perfect sequences of length N_(t). Table 3 shows the minimum necessary N_(t) for L=2,3, . . . 10, the size of the corresponding matrix S, and the results of an exhaustive search for L-perfect sequences (indicating the number of such sequences that were found). Cell entries marked “x” indicate that sequences exist, but number of such sequences it is not known. TABLE 3 L 2 3 4 5 6 7 8 9 10 N_(t)  3  6  7 10 11  14 15 18 19 S 2 × 2 4 × 3 4 × 4 6 × 5 6 × 6 8 × 7 8 × 8 10 × 10 × 9 10 BPSK  4  8  8 — — — — — — QPSK 16  64  64 — — 128 x 8-PSK 64 512 512 x x

It is known that with a PRUS of a given length, N_(PRUS), one can estimate up to L=N_(PRUS) unknowns. It can be shown that a training sequence of length N_(t) is also an L-perfect training sequence if N _(t) =kN _(PRUS) +L−1 and k≧1.   (34) Accordingly, an L-perfect sequence of length kN_(PRUS)+L−1 can be constructed by selecting an N_(PRUS) sequence, repeating it k times, and circularly extending it by L−1 symbols. Restated and amplified somewhat, for a selected PRUS of a given N_(PRUS), i.e., s _(p)(N _(PRUS))=[s _(p)(0)s _(p)(1) . . . s _(p)(N _(PRUS)−1)],   (35) the L-perfect sequence of length kN_(PRUS)+L−1 is created from a concatenation of k s_(p)(N_(PRUS)) sequences followed by the first L−1 symbols of s_(p)(N_(PRUS)), or from a concatenation of the last L−1 symbols of s_(p)(N_(PRUS)) followed by k s_(p)(N_(PRUS)) sequences.

To illustrate, assume that the number of channel “taps” that need to be estimated, L, is 5, and that a QPSK alphabet is desired to be used. From the above it is known that N_(PRUS) must be equal to or greater than 5, and from Table 2 it is known that the smallest N_(PRUS) that can be found for QSPK that is larger than 5 is N_(PRUS)=8. Employing equation (34) yields $\begin{matrix} {{{N_{t} = {{{kN}_{PRUS} + L - 1}\quad = {{{k \cdot 8} + 5 - 1}\quad = 12}}},20,28,\ldots}\quad{{{{for}\quad k} = 1},2,3,\ldots}} & (36) \end{matrix}$

While an L-perfect training sequence cannot be constructed from PRUS sequences for values of N_(t) other than values derived by operation of equation (34), it is known that, nevertheless, L-perfect sequences may exist. The only problem is that it may be prohibitively difficult to find them. However, in accordance with the approach disclosed below, sub-optimal solutions are possible to create quite easily.

If it is given that the training sequence is N_(t) long, one can express this length by N _(t) =kN _(PRUS) +L−1+M, where M>0   (37) In accord with our approach, select a value of N_(PRUS)≧L that minimizes M, create a sequence of length kN_(PRUS)+L−1 as disclosed above, and then extend that sequence by adding M symbols. The M added symbols can be found by selecting, through an exhaustive search, the symbols that lead to the lowest estimation MSE. Alternatively, select a value of N_(PRUS)≧L that minimizes M′ in the equation, N _(t) =kN _(PRUS) +L−1−M′, where M′>0   (38) create a sequence of length kN_(PRUS)+L−1 as disclosed above, and then drop the last (or first) M′ symbols.

The receiver shown in FIG. 2 includes the channel estimator 22, which takes the received signal and multiplies it S^(H) as appropriate; see equation (12), above. 

1. A space-time diversity transmitter that includes (a) n transmitting antennas, where n is greater than one, (b) an encoder of an applied information bit stream, said encoder developing n symbol streams, and (c) a constellation mapper responsive to said n symbol streams, for mapping symbols of each of said n symbol streams into a standard signal constellation to create a mapped stream, said constellation mapper applying each of the created n mapped stream to a different one of said n antennas, the improvement comprising: a generator of a symbols sequence; an encoder for creating n training sequences from said symbols sequence; and a training sequence mapper that maps said n training sequences onto a standard constellation to develop n mapped training sequences, and applies the n mapped training sequences to said n antennas at times when said constellation mapper stops applying said n mapped stream to said n antennas.
 2. The transmitter of claim 1 where said n training sequences are selected to enable a receiver that receives said n training sequences to determine characteristics of a channel through which said n antennas communicate to said receiver.
 3. The transmitter of claim 2 where said n training sequences have a common length N_(t) that is related to transmitted symbols memory, L−1, of communication medium interposed between said transmitter and said receiver, N_(t) being at least equal to 2L−1.
 4. (canceled)
 5. The transmitter of claim 1 where said training sequence mapper employs a constellation taken from a set that includes BSPK, QPSK, and 8-PSK.
 6. The transmitter of claim 1 where said constellation mapper and said training sequence mapper are one and the same.
 7. The transmitter of claim 1 where said constellation mapper also serves as said training sequence mapper.
 8. The transmitter of claim 1 where said n training sequences have an impulse-like autocorrelation function and zero cross correlation.
 9. The transmitter of claim 1 where said n training sequences are uncorrelated, and each of said n training sequences has an impulse-like autocorrelation function.
 10. The transmitter of claim 1 where n=2, said generator creates a sequence s, and said encoder creates a first training sequence that is equal to −s concatenated with s, and a second training sequence that is equal to s concatenated with s.
 11. The transmitter of claim 10 where said sequence s contains N_(t)/2 symbols, where N_(t) is related to number of channel parameters, L, that a receiver which seeks to receive signals from an antenna of said transmitter may wish to estimate.
 12. The transmitter of claim 1 where n=2, said generator creates a sequence s composed of sequence d, followed by sequence d₂, and said encoder creates a first training sequence that is −d₁ concatenated with {tilde over (d)}₂*, and a second sequence that is either d₂ concatenated with d₁*, where {tilde over (d)}₂* corresponds to the sequence d₂ with its elements in reverse order and converted to their respective complex conjugates, and the sequence d₁* corresponds to the sequence d₁ with its elements converted to their complex conjugate values.
 13. The transmitter of claim 12 where said sequence d₁ and said sequence d₂ contain N_(t)/2 symbols each, where N_(t) is related to number of channel parameters, L, that a receiver which seeks to receive signals from an antenna of said transmitter may wish to estimate.
 14. The transmitter of claim 1 where n=2, said generator creates a sequence d, and said encoder creates a first training sequence that is −d concatenated with {tilde over (d)}*, and a second sequence that is d concatenated with d*, where the sequence d* corresponds to the sequence d with its elements converted to their complex conjugate values and the sequence {tilde over (d)}* corresponds to the sequence d with its elements in reverse order and converted to their respective complex conjugate values.
 15. The transmitter of claim 1 where n=2, said generator creates a sequence d, and said encoder creates a first training sequence that is −d concatenated with {tilde over (d)}*, and a second sequence that is {tilde over (d)} concatenated with d*, where the sequence d* corresponds to the sequence d with its elements converted to their complex conjugate values and the sequence {tilde over (d)}* corresponds to the sequence d with its elements in reverse order and converted to their respective complex conjugate values.
 16. The transmitter of claim 1 where n=2, said generator creates a sequence d, and said encoder creates a first training sequence that is -d concatenated with d, and a second sequence that is {tilde over (d)}* concatenated with d*, where the sequence d* corresponds to the sequence d with its elements converted to their complex conjugate values and the sequence {tilde over (d)}* corresponds to the sequence d with its elements in reverse order and converted to their respective complex conjugate values.
 17. The transmitter of claim 1 where said encoder of an applied information bit stream and said encoder for creating n training sequences are embodied in a single module that creates either said n symbol streams or said n training sequences.
 18. The transmitter of claim 1 where said encoder for creating n training sequences from said symbols sequence is a trellis encoder.
 19. The transmitter of claim 18 where (a) said where said n training sequences are selected to enable a receiver that receives said n training sequences to determine characteristics of a channel through which said n antennas communicate to said receiver, (b) encoder for creating n training sequences from said symbols sequence is a trellis encoder, and (c) said generator develops said symbols sequence to comprise N_(t)+(n-2)L+m symbols long, where L is the number of channel parameters that describe a channel from one of said n transmitter antennas to a receiving antenna of said receiver, m is memory is said trellis encoder, and N_(t) is not less than 2L−1.
 20. The transmitter of claim 18 where said training sequence mapper employs symbols from a set composed of elements e^(i2πp) _(k) ^(/8), p_(k)=0,1,2, . . . ,
 7. 21. The transmitter of claim 20 where said generator develops a symbols sequence s(k), and said encoder for creating n training sequences from said symbols sequence develops a first sequence s₁(k)=s(k), and a second sequence s₂(k)=(−1)^(p) _(k−1) s(k−1).
 22. The transmitter of claim 21 where said sequence s(k) is composed of a firt segment, seven, that comprises symbols from a set composed of e^(i2πp) _(k) ^(/8), p_(k)=0, 2, 4, 6 and a second segment, s_(odd), where s _(odd) =αs _(even), and α=e ^(iπk/4) for any k=1, 3, 5,
 7. 23. The transmitter of claim 22 where said s_(even), and a corresponding α are any one of the following: S_(even) α −1 1 1 1 1 −1 −i −1 1 1 −1 1 1 exp(i5π/4) 1 1 −1 1 i i 1 −i i −1 −1 −1 1 exp(i3π/4) 1 −1 −1 −i i −i 1 1 1 −i −1 1 1 exp(iπ/4) 1 −1 −1 −i 1 −1 1 −i −i −i −1 1 1 exp(iπ/4) 1 i 1 1 i −1 −1 i 1 −1 1 i 1 exp(iπ/4) 1 i 1 i −1 −1 1 −1 −1 i 1 i 1 exp(i3π/4) 1 −i 1 1 −i −1 −1 −i 1 −1 1 −i 1 exp(i7π/4) 1 −i 1 −1 i 1 −1 −i 1 1 1 −i 1 exp(i5π/4) −1 1 1 1 −1 −1 −i −1 −1 1 −1 1 1 exp(i3π/4) −1 i −1 −i 1 −i i i 1 i 1 −i 1 exp(i7π/4) −1 −i −1 i 1 i −i −i 1 −i 1 i 1 exp(iπ/4) −1 −i −1 i −1 i −i −i −1 −i 1 i 1 exp(i3π/4)


24. A space-time diversity transmitter that includes n transmitting antennas, where n is greater than one, comprising: a generator of training sequences; and an encoder, responsive to signals created by said generator, for developing n sequences that are applied to said n antennas, each sequence having n intervals, said sequences being characterized by matrix $U = \begin{bmatrix} u_{11} & u_{12} & \cdots & u_{1n} \\ u_{21} & u_{22} & \cdots & u_{2n} \\ \vdots & \vdots & ⋰ & \vdots \\ u_{n1} & u_{n2} & \cdots & u_{nn} \end{bmatrix}$ such that UU^(H)=kI, where U^(H) is the Hermetian of U, K is a constant, and I is the identity matrix, and u_(ij) is a convolution matrix of sequence applied to antenna j at interval i.
 25. The transmitter of claim 24 where each of said convolution matrices, u_(ij), is related to S=[S₁S₂ . . . S_(n)], where S_(i) is a convolution matrix of a sequence s_(i)(k) created by said generator
 26. The transmitter of claim 25 where $U = {\begin{bmatrix} {- S} & S \\ S & S \end{bmatrix}.}$
 27. A receiver comprising an antenna, a channel estimator responsive to signals received from said antenna, and a detector response to signals received from said antenna and to signal applied by said channel estimator, the improvement comprising: said channel estimator is constructed (a) to receive from said antenna signal y₁ during a first period of N_(t)/2 symbol periods, where N_(t) is a predetermined constant, and signal y₂ during a second period of N_(t)/2 symbol periods, (b) to develop matrix product ${\begin{bmatrix} r_{1} \\ r_{2} \end{bmatrix} = {\begin{bmatrix} {- S^{H}} & S^{H} \\ S^{H} & S^{H} \end{bmatrix}\begin{bmatrix} y_{1} \\ y_{2} \end{bmatrix}}},$ where S is a predetermined matrix, and S^(H) is the Hermitian of S, (c) to develop vector signal $h_{1} = {\frac{1}{K}r_{1}}$ and vector signal ${h_{2} = {\frac{1}{K}r_{2}}},$ where K is a predetermined constant, and (d) to apply vector signals h₁ and h₂ to said detector.
 28. The receiver of claim 27 where said matrix S is related to a training sequence that is sent by a transmitter to said receiver.
 29. The receiver of claim 27 where dimension of said matrix S is (N_(t)−L+1)×L , where L corresponds to number of elements in vector signal h₁ and in vector signal h₂.
 30. A receiver comprising an antenna, a channel estimator responsive to signals received from said antenna, and a detector response to signals received from said antenna and to signal applied by said channel estimator, the improvement comprising: said channel estimator receives signals from a transmitter having n transmitting antennas, develops therefrom received signals y₁, y₂, . . . , y_(n), during n intervals, forms a matrix of signals, and multiplies said matrix of symbols by matrix U^(H), which is the Hermitian of U, to derive a matrix of estimate signals, where U, is dictated by said transmitter and each elements of u_(ij) of matrix U is a convolution matrix of a training sequence applied to transmitting antenna j at interval i.
 31. A receiver comprising an antenna, a channel estimator responsive to signals received from said antenna, and a detector response to signals received from said antenna and to signal applied by said channel estimator, the improvement comprising: said channel estimator receives signals from a transmitter having n transmitting antennas, develops therefrom received signal vectors y₁ and y₂, from two sets of received symbol periods, develops ${\begin{bmatrix} h_{eq}^{even} \\ h_{eq}^{odd} \end{bmatrix} = {{KS}^{H}\begin{bmatrix} y_{1} \\ y_{2} \end{bmatrix}}},$ where K is a preselected constant and S^(H) is a preselected matrix, and develops estimate signal $h_{1} = \frac{h_{eq}^{even} + h_{eq}^{odd}}{2}$ that is applied to said detector, and estimate signal $h_{2} = \frac{h_{eq}^{even} - h_{eq}^{odd}}{2}$ that is applied to said detector. 